#include <linux/irq.h>
#include <linux/kernel.h>
#include <linux/list.h>
+#ifndef XEN
#include <linux/pci.h>
+#endif
#include <linux/smp.h>
#include <linux/smp_lock.h>
#include <linux/string.h>
int preallocated = 0;
if (!iosapic_kmalloc_ok && list_empty(&free_rte_list)) {
+#ifdef XEN
+ rte = xmalloc_bytes(sizeof(struct iosapic_rte_info) * NR_PREALLOCATE_RTE_ENTRIES);
+#else
rte = alloc_bootmem(sizeof(struct iosapic_rte_info) * NR_PREALLOCATE_RTE_ENTRIES);
+#endif
if (!rte)
return NULL;
for (i = 0; i < NR_PREALLOCATE_RTE_ENTRIES; i++, rte++)
polarity,trigger) (gsi)
#endif
+#ifdef XEN
+/* Move to common code later */
+/**
+ * list_move - delete from one list and add as another's head
+ * @list: the entry to move
+ * @head: the head that will precede our entry
+ */
+static inline void list_move(struct list_head *list, struct list_head *head)
+{
+ __list_del(list->prev, list->next);
+ list_add(list, head);
+}
+
+#define move_irq(x)
+
+#define WARN_ON(condition) do { \
+ if (unlikely((condition)!=0)) { \
+ printk("Badness in %s at %s:%d\n", __FUNCTION__, __FILE__, __LINE__); \
+ dump_stack(); \
+ } \
+} while (0)
+
+#ifdef nop
+#undef nop
+#endif
+
+/* nop for now */
+static inline void
+set_irq_affinity_info(unsigned int irq, int hwid, int redir) {}
+
+#endif /* XEN */
+
# endif /* !__ASSEMBLY__ */
#endif /* __ASM_IA64_IOSAPIC_H */